1. Field of the Invention
The present invention relates to a communication system, and more particularly, to an apparatus and a method for transmitting and receiving signals in a communication system.
2. Description of the Related Art
In general, communication systems are being developed to provide mobile stations with a service capable of transmitting/receiving a larger capacity of data at a higher speed. Therefore, use of Low Density Parity Check (LDPC) codes, suitable for transmission and reception of high-speed large-capacity data, have been considered in communication systems.
In addition to LDPC code, the use of a Hybrid Automatic Retransmission reQuest (HARQ) scheme and an Adaptive Modulation and Coding (AMC) scheme have been also considered for transmission and reception of high-speed large-capacity data. In order to use the HARQ scheme or the AMC scheme, a communication system must support various coding rates.
As described above, conventional communication systems have considered the use of various schemes employing various rates, such as an HARQ scheme and an AMC scheme, as well as the use of an LDPC code, for high-speed large-capacity data transmission and reception. However, when using the LDPC code, there is a limit to the number of supportable coding rates because a large capacity of memory is required for storage of a large random parity check matrix that can be expressed by a bipartite graph. Therefore, there has been a need in the industry for a scheme capable of supporting various coding rates that transmits/receives a signal using various coding rates without an increase in complexity of a coder and a decoder in a communication system. Hereinafter, an example of a signal transmission/reception method for supporting various coding rates in a communication system using the LDPC code is described.
FIG. 1 is a diagram illustrating a 1-SR node on a typical bipartite graph.
Referring to FIG. 1, the 1-SR node is defined as a variable node having, from among the check nodes neighboring the 1-SR node, at least one neighboring check node connected to only unpunctured variable nodes except for the 1-SR node itself As used herein, each of the unpunctured variable nodes is defined as a 0-SR node and refers to a variable node that is not punctured. As a result, the 1-SR node is a node that can be restored through one time iterative decoding, according to an iterative decoding scheme.
FIG. 2 is a diagram illustrating a k-SR node on a typical bipartite graph.
Referring to FIG. 2, the k-SR node is defined as a variable node having check nodes neighboring the k-SR node. The neighboring check nodes include at least one neighboring check node connected to one (k−1)-SR node except for the k-SR node itself and another neighboring check node connected to 0˜(k−1)-SR nodes. As a result, the k-SR node is a node that can be restored through k times of iterative decoding according to an iterative decoding scheme.
In this case, a punching order of the k-SR nodes is determined bit by bit. First, one 1-SR node having the highest degree in a 1-SR node group is selected. Then, all check nodes of the selected 1-SR node are reserved. The reserved check nodes are used in recovering corresponding SR nodes.
Next, a 1-SR node connected to the largest number of unreserved check nodes is selected, and those unreserved check nodes are then reserved. If there are more than one 1-SR nodes connected to the same number of unreserved check nodes, one 1-SR node having the lowest degree from among the multiple 1-SR nodes is punctured.
Therefore, after the puncturing order of all the 1-SR nodes is determined, the puncturing order of 2-SR nodes is determined in the same manner as that of the 1-SR nodes. According to this puncturing scheme, the puncturing is performed in a direction in which the number of surviving check nodes of each punctured variable node increases.
It is well known that the above-described puncturing scheme has a high probability that, the smaller the value of k, the smaller the number of unpunctured variable nodes included in a recovery tree of the k-SR node. However, as the value of k increases, a recovery tree of a k-SR node having the smaller k value may include more unpunctured variable nodes than a recovery tree of a k-SR node having the larger k value.
Further, in the puncturing scheme, if the number of surviving check nodes of a certain k-SR node is increased according to an increase in the puncturing amount (i.e. the puncturing frequency), the number of check nodes that may otherwise become surviving check nodes of another k-SR node is reduced, so as to reduce reliability in recovering the nodes. Furthermore, the information flow of unpunctured variable nodes is initially out-obstructed, and it is thus difficult to expect improvement of the overall performance.
Accordingly, it is necessary to minimize the number of unpunctured variable nodes included in a recovery tree in puncturing, and to puncture a variable node having a degree as low as possible, thereby uniformly distributing surviving check nodes to all punctured variable nodes.